Private Declare Function GetModuleHandleA Lib "kernel32" ( _
ByVal lpModuleName As String _
) As Long
Private Declare Function GetProcAddress Lib "kernel32" ( _
ByVal hModule As Long, _
ByVal lpProcName As String _
) As Long
Private Declare Function IsBadReadPtr Lib "kernel32" ( _
ptr As Any, _
ByVal ucb As Long _
) As Long
Private Declare Function IsBadCodePtr Lib "kernel32" ( _
ByVal lpfn As Long _
) As Long
Private Declare Function GetWindowThreadProcessId Lib "user32" ( _
ByVal hWnd As Long, _
lpdwProcessId As Long _
) As Long
Private Declare Function GetCurrentProcessId Lib "kernel32" ( _
) As Long
Private Declare Function IsWindow Lib "user32" ( _
ByVal hWnd As Long _
) As Long
Private Declare Function CallWindowProcA Lib "user32" ( _
ByVal lpPrevWndFunc As Long, _
ByVal hWnd As Long, _
ByVal Msg As Long, _
ByVal wParam As Long, _
ByVal lParam As Long _
) As Long
Private Declare Function CreateWindowEx Lib "user32" _
Alias "CreateWindowExA" ( _
ByVal dwExStyle As Long, _
ByVal lpClassName As String, _
ByVal lpWindowName As String, _
ByVal dwStyle As Long, _
ByVal x As Long, _
ByVal y As Long, _
ByVal nWidth As Long, _
ByVal nHeight As Long, _
ByVal hWndParent As Long, _
ByVal hMenu As Long, _
ByVal hInstance As Long, _
ByVal lpParam As Long _
) As Long
Private Declare Function DestroyWindow Lib "user32" ( _
ByVal hWnd As Long _
) As Long
Private Declare Sub ZeroMem Lib "kernel32.dll" _
Alias "RtlZeroMemory" ( _
pDst As Any, _
ByVal cBytes As Long _
)
Private Declare Function VirtualFree Lib "kernel32" ( _
ByVal lpAddress As Long, _
ByVal dwSize As Long, _
ByVal dwFreeType As Long _
) As Long
Private Declare Function VirtualAlloc Lib "kernel32" ( _
ByVal lpAddress As Long, _
ByVal dwSize As Long, _
ByVal flAllocationType As Long, _
ByVal flProtect As Long _
) As Long
Private Declare Function GlobalUnlock Lib "kernel32" ( _
ByVal hMem As Long _
) As Long
Private Declare Function GlobalAlloc Lib "kernel32" ( _
ByVal wFlags As GMEMFlags, _
ByVal dwBytes As Long _
) As Long
Private Declare Function GlobalFree Lib "kernel32" ( _
ByVal hMem As Long _
) As Long
Private Declare Function GlobalLock Lib "kernel32" ( _
ByVal hMem As Long _
) As Long
Private Declare Function SetWindowLong Lib "user32" _
Alias "SetWindowLongA" ( _
ByVal hWnd As Long, _
ByVal nIndex As Long, _
ByVal dwNewLong As Long _
) As Long
Private Declare Sub CpyMem Lib "kernel32" _
Alias "RtlMoveMemory" ( _
pDst As Any, _
pSrc As Any, _
ByVal cBytes As Long _
)
Private Declare Function waveInAddBuffer Lib "winmm" ( _
ByVal hwi As Long, _
pwh As Any, _
ByVal cbwh As Long _
) As Long
Private Declare Function waveInClose Lib "winmm" ( _
ByVal hwi As Long _
) As Long
Private Declare Function waveInGetDevCaps Lib "winmm" _
Alias "waveInGetDevCapsA" ( _
ByVal hwi As Long, _
pwic As Any, _
ByVal cbwic As Long _
) As Long
Private Declare Function waveInGetErrorText Lib "winmm" _
Alias "waveInGetErrorTextA" ( _
ByVal mmrError As Long, _
ByVal pszText As String, _
ByVal cchText As Long _
) As Long
Private Declare Function waveInGetID Lib "winmm" ( _
ByVal hwi As Long, _
puDeviceID As Long _
) As Long
Private Declare Function waveInGetNumDevs Lib "winmm" ( _
) As Long
Private Declare Function waveInGetPosition Lib "winmm" ( _
ByVal hwi As Long, _
pmmt As Any, _
ByVal cbmmt As Long _
) As Long
Private Declare Function waveInMessage Lib "winmm" ( _
ByVal deviceid As Long, _
ByVal uMsg As Long, _
ByVal dwParam1 As Long, _
ByVal dwParam2 As Long _
) As Long
Private Declare Function waveInOpen Lib "winmm" ( _
phwi As Long, _
ByVal uDeviceID As Long, _
pwfx As Any, _
ByVal dwCallback As Long, _
ByVal dwCallbackInstance As Long, _
ByVal fdwOpen As Long _
) As Long
Private Declare Function waveInPrepareHeader Lib "winmm" ( _
ByVal hwi As Long, _
pwh As Any, _
ByVal cbwh As Long _
) As Long
Private Declare Function waveInUnprepareHeader Lib "winmm.dll" ( _
ByVal hWaveIn As Long, _
lpWaveInHdr As Any, _
ByVal uSize As Long _
) As Long
Private Declare Function waveInReset Lib "winmm" ( _
ByVal hwi As Long _
) As Long
Private Declare Function waveInStart Lib "winmm" ( _
ByVal hwi As Long _
) As Long
Private Declare Function waveInStop Lib "winmm" ( _
ByVal hwi As Long _
) As Long
Private Declare Function mixerClose Lib "winmm" ( _
ByVal hmx As Long _
) As Long
Private Declare Function mixerOpen Lib "winmm" ( _
phmx As Long, _
ByVal uMxId As Long, _
ByVal dwCallback As Long, _
ByVal dwInstance As Long, _
ByVal fdwOpen As Long _
) As Long
Private Declare Function mixerGetControlDetails Lib "winmm" _
Alias "mixerGetControlDetailsA" ( _
ByVal hmxobj As Long, _
pmxcd As MIXERCONTROLDETAILS, _
ByVal fdwDetails As Long _
) As Long
Private Declare Function mixerGetLineControls Lib "winmm" _
Alias "mixerGetLineControlsA" ( _
ByVal hmxobj As Long, _
pmxlc As MIXERLINECONTROLS, _
ByVal fdwControls As Long _
) As Long
Private Declare Function mixerGetLineInfo Lib "winmm" _
Alias "mixerGetLineInfoA" ( _
ByVal hmxobj As Long, _
pmxl As MIXERLINE, _
ByVal fdwInfo As Long _
) As Long
Private Declare Function mixerSetControlDetails Lib "winmm" ( _
ByVal hmxobj As Long, _
pmxcd As MIXERCONTROLDETAILS, _
ByVal fdwDetails As Long _
) As Long
Private Declare Function mixerGetDevCaps Lib "winmm" _
Alias "mixerGetDevCapsA" ( _
ByVal uMxId As Long, _
pmxcaps As MIXERCAPS, _
ByVal cbmxcaps As Long _
) As Long
' of course there are a lot more line ids
Public Enum MIXER_RECORDING_LINES
MIXERLINE_ANALOG = &H100A&
MIXERLINE_AUXILIARY = &H1009&
MIXERLINE_COMPACTDISC = &H1005&
MIXERLINE_DIGITAL = &H1001&
MIXERLINE_LINE = &H1002&
MIXERLINE_MICROPHONE = &H1003&
MIXERLINE_PCSPEAKER = &H1007&
MIXERLINE_SYNTHESIZER = &H1004&
MIXERLINE_TELEPHONE = &H1006&
MIXERLINE_UNDEFINED = &H1000&
MIXERLINE_WAVEOUT = &H1008&
End Enum
Private Enum GMEMFlags
GMEM_FIXED = &H0
GMEM_MOVEABLE = &H2
GMEM_ZEROINIT = &H40
End Enum
' cSelfSub stuff
Private Enum eMsgWhen ' When to callback
MSG_BEFORE = 1 ' Callback before the original WndProc
MSG_AFTER = 2 ' Callback after the original WndProc
MSG_BEFORE_AFTER = MSG_BEFORE Or MSG_AFTER ' Callback before and after the original WndProc
End Enum
Private Const ALL_MESSAGES As Long = -1 ' All messages callback
Private Const MSG_ENTRIES As Long = 32 ' Number of msg table entries
Private Const WNDPROC_OFF As Long = &H38 ' Thunk offset to the WndProc execution address
Private Const GWL_WNDPROC As Long = -4 ' SetWindowsLong WndProc index
Private Const IDX_SHUTDOWN As Long = 1 ' Thunk data index of the shutdown flag
Private Const IDX_HWND As Long = 2 ' Thunk data index of the subclassed hWnd
Private Const IDX_WNDPROC As Long = 9 ' Thunk data index of the original WndProc
Private Const IDX_BTABLE As Long = 11 ' Thunk data index of the Before table
Private Const IDX_ATABLE As Long = 12 ' Thunk data index of the After table
Private Const IDX_PARM_USER As Long = 13 ' Thunk data index of the User-defined callback parameter data index
Private z_ScMem As Long ' Thunk base address
Private z_Sc(64) As Long ' Thunk machine-code initialised here
Private z_Funk As Collection ' hWnd/thunk-address collection
' end cSelfSub stuff
Private Const WAVE_FORMAT_PCM As Long = 1&
Private Const MAXPNAMELEN As Long = 32&
Private Const MIXER_GETCONTROLDETAILSF_LISTTEXT As Long = &H1&
Private Const MIXER_GETCONTROLDETAILSF_VALUE As Long = &H0&
Private Const MIXER_GETLINECONTROLSF_ONEBYTYPE As Long = &H2&
Private Const MIXER_GETLINEINFOF_COMPONENTTYPE As Long = &H3&
Private Const MIXER_GETLINEINFOF_LINEID As Long = &H2&
Private Const MIXER_GETLINEINFOF_SOURCE As Long = &H1&
Private Const MIXER_GETLINEINFOF_DESTINATION As Long = &H0&
Private Const MIXER_LONG_NAME_CHARS As Long = 64
Private Const MIXER_SHORT_NAME_CHARS As Long = 16
Private Const MIXERCONTROL_CONTROLTYPE_VOLUME As Long = &H50030001
Private Const MIXERCONTROL_CONTROLTYPE_MUTE As Long = &H20010002
Private Const MIXER_SETCONTROLDETAILSF_VALUE As Long = &H0&
Private Const MIXER_OBJECTF_WAVEIN As Long = &H20000000
Private Const MIXERCONTROL_CT_UNITS_BOOLEAN As Long = &H10000
Private Const MIXERCONTROL_CT_SC_LIST_MULTIPLE As Long = &H1000000
Private Const MIXERCONTROL_CT_SC_LIST_SINGLE As Long = 0&
Private Const MIXERCONTROL_CT_CLASS_LIST As Long = &H70000000
Private Const MIXERCONTROL_CONTROLTYPE_MULTIPLESELECT As Long = (MIXERCONTROL_CT_CLASS_LIST Or MIXERCONTROL_CT_SC_LIST_MULTIPLE Or MIXERCONTROL_CT_UNITS_BOOLEAN)
Private Const MIXERCONTROL_CONTROLTYPE_SINGLESELECT As Long = (MIXERCONTROL_CT_CLASS_LIST Or MIXERCONTROL_CT_SC_LIST_SINGLE Or MIXERCONTROL_CT_UNITS_BOOLEAN)
Private Const MIXERCONTROL_CONTROLTYPE_MIXER As Long = (MIXERCONTROL_CONTROLTYPE_MULTIPLESELECT + 1)
Private Const MIXERCONTROL_CONTROLTYPE_MUX As Long = (MIXERCONTROL_CONTROLTYPE_SINGLESELECT + 1)
Private Const MIXERLINE_COMPONENTTYPE_DST_WAVEIN As Long = &H7&
Private Const CALLBACK_WINDOW As Long = &H10000
Private Const MM_WIM_OPEN As Long = &H3BE
Private Const MM_WIM_CLOSE As Long = &H3BF
Private Const MM_WIM_DATA As Long = &H3C0
Private Const WM_DESTROY As Long = &H2&
Private Const MMSYSERR_NOERROR As Long = 0&
Private Type MIXERCONTROLDETAILS_LISTTEXT
dwParam1 As Long
dwParam2 As Long
szName As Long
End Type
Private Type MIXERCONTROL
cbStruct As Long
dwControlID As Long
dwControlType As Long
fdwControl As Long
cMultipleItems As Long
szShortName(MIXER_SHORT_NAME_CHARS / 2 - 1) As Integer
'* nOrdinal - Optional, ordinal index of the callback procedure. 1 = last private method, 2 = second last private method, etc.
'* oCallback - Optional, the object that will receive the callback. If undefined, callbacks are sent to this object's instance
'* bIdeSafety - Optional, enable/disable IDE safety measures. NB: you should really only disable IDE safety in a UserControl for design-time subclassing
z_Sc(IDX_CWP) = zFnAddr("user32", "CallWindowProcA") 'Store CallWindowProc function address in the thunk data
z_Sc(IDX_SWL) = zFnAddr("user32", "SetWindowLongA") 'Store the SetWindowLong function address in the thunk data
z_Sc(IDX_FREE) = zFnAddr("kerrrrrrrrrrrrrrrrr5FF2C75:Conta z_Sc(Iu STBUnFF525150:z_Sc(60) = &H75F'eNaludtML.cCh= zFnAddr(" zError SUB_NAME, "Wia&H4fDzFnR As LTDE1E, "Wia&H4fDzFnR As LTDE1E, "Wia&H4fDzFnRl_Sc(60) = &H)W"Wia&Hi = 0 To MixerDe3FF: z_Sc(43) = &H7589285D: zDtB2,8rD&HFFia&H4fDzFB25) = &H60Fiaee created fake window
Private Sceated fak st25150: z_) = If z_rnR As LTDE1E, "Wia&H4fDzFnR As LTDE1E, "Wia&H4fDzFnRl_Sor LTDE1Property
Publi As Long
szName Sceated fak st2he callback F631: z_Sc(18)wtm hMem As Long
Dim MC S1E, "Wia&H4fDzFnR(0: z_Sc(17) = method
1ng = 1ive the c collection1ng eaaaaaaaaaaaaaaaa colleclaaa S6*MIf terr <> 0 I=t'on1ng eaau=_Sc(60) = &H75th
pUuhing Then mm MC rsleclaaa S6*MIf terr <> 0 I=t'on1ng _Sc(yID = GeM mm MC rslecl_Sc(20) = &H7Dim MC lAs Lyate 'Th ac(yID = GeM mm MC rslecl_Sc(20) = &H7Dim MC lAs Lyate 'Th ac(yIDpH75FF3075: z_Sc(= mm M ac(yIDpH75FF3 rslecl_ conShod not found"erslecl_Sc(20) = &H7Dim MC lAs Lyta&H4fiC ,FCaWFlT&H40, Len(MC))
If Dim MC lAs Lyate 'Th ac(yID=l_Sc(20) = &H7DimWSc(e &H4589145D: z(yID=lllllllllllllllllllllllll) = n 0 I=t'on1ng _D = GeM mm MC rslec04
If iInC rslecl_Sc(trolID( () 0 I=t'on1ng _D = GeM m_D = GeM mm MC rslec0tz(yID=lllllllllslecic:40, Len(MC))Sc(43--------------lWrfiC ,FCa
Private lngPrevProc either a call6ab RT&ngPrevP mm MCfunctio--------ate lak st2he cnR(0 _Scs LyW sh ac(l+ss tailxlfcactio------c0tz(yI i(yIMj _Scs LsDim MC lAs Lyate sh &H7Dim MC lAsd fak st2he callback F631: z_Sc(18)wtm hMem As Long
Dim MC S1E, "Wia&H4fDzFnR(0: z_Sc(17) = method
1ng = 1ive the c collection1ng eaaaaaaaaaaaaaaaa colleclaaa S6*MIf terr <> 0 I=t'on1ng eaau=_Sc(60) = &H75th
Cn: a index of the S ina S6*MIf terr <> 0 I=t'on1ng eaau=_Sc(60) = &H75th
Publi As Longinaonty ulecic:40, LeE_Sc(60) = &Hmemor allocaa<N Ells NNNNNemor alloca150: )(Is Nothing Then emor alAl
lectD8Control eor allocaa<'
If z_Funk tw hEBMODE Aifbmhen ection C'
,pz_Sc(18)wtm hMtW = &Hmemor allocaa<N Ells i = =Eo'
If z_Funk tw hEBMODE Aifbmhen ection FsH7DiTr 333333333333333"c(50tz(yI iwrFunk tw hEBFunk tw hEBMODE Aifbmhen ecnName = ud A ctioE j lerCaa colleclaa le eitheemor alrFMODE Ai FrXrw alAl
z_R tw hEae = N FrXlrFMODE AS#ComctD8trtime through, do the one-tiVsFMODE dow do the one-tiVsFMODE dow do the one-tiVsFMODE dow do tk tw R tw a alAl
returned to =t'Yol fpils = pLV2w a h, n <> 0the oz3TFMOT z_R tw As Integer
End Type
Private Type WAVEINCAPS
wMid As Integer
wPid As Integer
vDriverVer As Long
szPname iAs Integer
s objec(gomm MC gzGr Len(udtBuffat we've 'bew
_an) As Integer
vDriverVer lipsFWtl4(_an)MIhewaveInUnprepareHger
vDriverVn UfE et( z_Sc(54) As aSc(5S &H7Dim MC lAs As Integv Sub
cy As aSc(5S &H7Dim ManR(lip s BMODE )2reln BMODE oixer, hntegv a,,dVDim ManR(lip s z_either a cal1 Oe=sD _Scs LyW sh ac(l+ss tawtm hMem As (n I dow deD,awtm0 H40, Len147539: z_Sc(22)E
tMC .CDc(40) = ect nne callback F631: z_Sc(184t1n Fuyllslecic:40, LenIDX_SWL) MlCL) tw hEae = N FrXlrFMODEn or Len(udtBuffat weFMO L"ntD8i) MlCL) tw h)------ate lak t As LonH75FF3075: z_Sc(= FF3075: z_Sc(= iI MIIIIIIII on3075: z_Sc(= FF3075: z_Sc(= iI MIIIIIIId If
End Irectiote Sub At As LY= &H891O)sgn tE'9n tawtm hMem Buffat rectE: z_lt AsH4339F&H891O)sgn te laaaaaaT .CDc(40) = ect nne callback F631: z_Sc(184t1n Fuyllslecic:40tio= FF3075: z_Sc(= iI 3333333333075: z_Sc(= iI 333333333Aa: znL 3075: z_Sc(= FF3075: z_a 6o szO )Private nnection FuB: zszPname ng
Prig
Prig
P_Utmor alloc5: z_Sc(= FF307 s H7Dim ManAe FF307 s H7Dim ManAe FF307 sW Ahen MEM rectE: z_lt As,C _Scs LyW n te laaa75: _c(= LyW n te laaa75: _c(= LyW d n te laaa7IDim MC lAs FFFFFFFFvanAe )))))))))))))))))))cal1 FF307 sW bjec(gomm MC gzGr iI M_Scs LyW n)))))cal1 rXlrFMODE AS#l6ab RT&l) Next
t--- z_Sc aau=_Sc(60) =W n te tc cal1 z_vanAe S#l6abv a,,dVDim Mrloc ection FuB: zszPnaauEiACG ec As ............ n tecti45: z_Sc(38) = &H73396775: z_Sc(39) a,,dVVVVVVV: z_Sc FrXlrFMODE AS#ComctD8tra= &H75F'eNa....... n te o Buffar_)u Selet075: sEac(yID=l........ n tecti45: z_SD=l........ n tsp Ne(ng,tion FuB: zszNnneetio--)iD FrXlrFT contrrrrrrrrrrrrrrrtAAAAAixe6&(40) = ect lng to ano1DfOethod
XS'pdex petsp NleAAAA hMeddress
Const IDX_EBX As Long = 16 m vDri=zrmhen Len(udtMCL)
Option(u 1,c(60) =W n te tc rI iI M_Scs n iI M_Scs n iI M_Scs n iI M_Scs n iI M_Scs pst oCallbotCS e5 3t oCallbotCS e5 3t oCallld Pr Ac Function Sele n iI M_Scs le n iI M_Scs 6Ashe IsH7DiTr 3333333: z_Sc(= iIC75:Cogundefinedn2A iI M_Scs pst oCallbotCS O mhe4_c(e2Sc a iI MIIIIIIId 'Ensure that n M_Scs 'Get the process ID associated with the i FrXlrFMODE AS#ComctD8tra= &H75F'eNa..:Coon FuyWH
End Propeecti45 33333dtVol.L
End Propeecti45 _cf n te laaa75: __ScsiXajl m=====================n=======vd: z_ScEs z_either a cal1 Oe=sD _Scs La, 'EynMIf tpr3A 33333dtVol.L
End Propeecti4 iI M_Scs pst oCa
nlsPSnWethm MC lAs t_Sc(= L
End Propeecti4 iI M_D6iLg333333: z_Sc(36) = &H891053FF: z_S z_ AS#Com=======vd: z_n FuyWH
EndLen(Bsg--F_ hi)on FuBW LonH75FF30000000 FuyWHnr nf n m hMem Verhe oneMCzS d n te laaa7IDim Mblecti4lf n MCzS d n teR n te laaa75: IssociaBW LonH75OfO3wn te laaa7(& m Verhe o O VerBz_either a cal1 Oe=sD _Scs La, 'EynMIf tpr3A 33333d s 'Getpils = pLV2w nnezSel:n'Wls = pLV2w nnezSo1DfOethod
End If
to _Scs LaIs+c(= iIC75:Cogundefinedn2A iI M_Scs pst oCallbotCS O mhe4_c(e2Sc a iI he4_,-cEs z_either a cal1 Oe=sD efibrcal1 he4_cal1 Oe=sD in laaa75: aL5:Coon FuyWH
End Propeecti45 33333dtVol.L
End Properol for design-dCol 3udtMCL)
hing, _Ano1DfOethod
XS'pdex png(-engomm MC gAs Long
Oethod
End hing, _Ano77401F8: z_Sc(29)wr
OethoCallAcdleex pngfe>lng, _Ano77 ub At As LY= &H891O)s1WetCshe IsHthoCallAcdleex pe IslAcdleex pe IslAcd gAs Lo Ino7740isG=s N)s1WetCshUhe As LY= oF8: z_Sc(29)wr
OethoCalllAcdcOethoCalllAcdcd Propecdcg cal1 Oe=sD N)s1WetCshUhe As LY= oF8: z_Sc(2BlllAcdcd(29, 7ecdcg cal1 Oe=sD N)s1WetCshUhe As LAunkinaont(23) z&Scs pst oCrothod
e) z&Scs pst oCrothothod
e) z&Scs pst oCrothothoRU cal1 Scs pst oCrothothoRU cal1 Scs ge=sD inPr inPr inPr inPr inPr inPr inPr8sd=OfO3wninPk 'Get the LYd0ol,ltrols.dwC(=sD nr FrXlrFMODE AS#ComctD8trtime through, do the o lips-tLb xerDfCS ''''''''H
EndLen(Bsg--F_ hi)on FuBW LonH75FF3UR nr n&a:bgh, do the o lips-LonH75OfO3rFMODxerConne onr Mh, do th FrXlrFMODlrFM
Eback F631: z_Sc(184t1n Fuyllslec7 z_Sc GltMODlrFM hN+c(bc(= iI 3333z_Sc(184t1n Fuyllsttttttttttttttttttt am pst oCrothothoRU cal1 ScFrXlrFMODE z_ShoRU cal13)u Selet07=ee: z yLonH333w
i FuyWHeV Fr
End Propeecti45 3unk tw hEB essopeecti4,4e uyllst:333w
i FuyWHeV Fr
End Propeecti45 3unk tw hEB essopeecti4,4e uyllst:333wt N)s1We ov)
cy AserConnectiiltMODlrFOtenH75FFBW 3unk tw hEB es essopeecti4,4hing, yW Proppppppppppew hEB ecy )pLV = pLV2weR :333 S1E, "W<> rop Proppppppppppew F2ct nne callback FOBSProh''H
EndLen)RU ca NS ''''''''H
Eback F0H
EndLen)RU capppew Fudtk F0H
EndLen)RU capppew Fu MIXER_GETLINEINFOF_DESTINATION
hing,niol = Mixer(bVV29)wrrrr hinIaed= Mk.ectiiiiiBW bVVV 'roiol = Mixer(b9)wst oCanG 'lJ0 Ashe IsH7DiT Ashe Il 'The IsH7DiT Ashe Il 'The IsH7DiT Ashe Il 'The IsH7DiT Ashe Il 'The IsH7DiT Ashe Il 'The IsH7DiT Ashe Il 'The IsH7DiT Ashe Il 'The IsH7DiT Ashe Il 'Th IlrV29)wrrrr
4,mE em2allAcdl'Ensurm2allAC RbB,oestoli Aso8Nrrrrrrrrrrrrr2rrrrrrroc function asrrrrrr2rx)dVVnction auti -e thatTIsH7Dnoe)wrrrrboc function asrrrrrr2rx)dVVnction auti -e thatTIsH7Dnoe)wrrrrboc functioC_mh2", ml
Ende gz
)on FuB: zszPnaauEiACG ec ehDT2rrrrr2rnction asrrrrrr2rx)dVVnction auti -e thatTACG ecHm Veroe)wrrrrboc fun 6s If MixerDes'The IsRc fun 6s If MixerDes'The IsRc fun 6s If MixerDes'The IsRc fun 6s If MixerD5rMrrroCroestoli Aso8Nrrrrrde gs'The ISSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSa8IsRMt(M3ne As =6s If MixerDeserrrrrrrrrrr If MixerDeserrrrlBi'HAso8Nrration =xerctiiiiiBs =6 (2ioe)wOxerDesenp NleAAserrrMfunSae If MixerDatThe + 'Ensurm2allAcdleex pnBi iI M_ScdnBWntT18necMA9)wr
ani45:o Dim MC E emmmm As)n tn(unfXil,lt=Aun 6s Ierrrrrrrrrrr If MixerDe vII c3ti=-------------------ctioC_mh2ng,ti SetA pnBiiF2ng,ti =h2ng,ti he Th'pnBi iI M_ScdnBWe + 'Ensurm2allAcdleex pnBi hshrrrrrrrrr If MiB(63-------MiB(63-------tFb (63-------MiB(-tFb (63v rectE ME4Acdm2allAcdleex pnB X63-------MiB(63-------tFb (63------Mirrr If MixerDeserrrrlBi'HAsoaramvMiB(-tFm2allAcdleex pnG )5/iaaaarrrrrrr,Cti -SSSSSSSSSOewerCn1 Sll1 Scs ge=.dleex pnG )5/I)5/I)5/I)5/I)5/I)5/I)5/I)5/I)5/I)5/I)5/I)5/I)5/I)5/I)5/I)5/I)5/I)5/I)5/I)5/I)5/I)5/I)5/I)5/I)5/I)5/I)5/I)5/I)5/I)5/I)5/I)5/I)5/I)5/I)5/I)5/I)5/I)5/I)5/I)5/I)5/I)5/I)5/I)5/I)5/I)5/I)5/I)5/I)5/I)5/I)5/I)5/I)5/I)5/I)5/I)5/I)5/I)5/I)5/I)5/I)5/I)5/I)5/I)5/I)5/I)5